package fem2.material.cohesive_law;

public class Mode1JirasekExponentialCohesiveLaw extends Mode1JirasekCohesiveLaw {

	public Mode1JirasekExponentialCohesiveLaw(double Gf, double ft, double Dnn, double Dmm) {
		super(Gf, ft, Dnn, Dmm);
	}

	public Mode1JirasekExponentialCohesiveLaw(double Gf, double ft, double Dnn, double Dmm1,
			double Dmm2) {
		super(Gf, ft, Dnn, Dmm1, Dmm2);
	}

	@Override
	protected double computeSofteningLaw(double x) {
		return ft * Math.exp(-x * ft / Gf);
	}

	@Override
	protected double computeSofteningLawDerivative(double x) {
		double f = computeSofteningLaw(x);
		return -(ft / Gf) * f;
	}

}
